#define _CRT_SECURE_NO_WARNINGS
//#include<stdio.h>
//int main()
//{
//	int i = 1;
//	while (i < 101)
//	{
//		if (i % 3 == 0)
//			printf("%d\n",i);
//		i++;
//	}
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//	int d = 0;
//	scanf("%d %d %d", &a, &b, &c);
//	if (b > a)
//	{
//		d = a;
//		a = b;
//		b = d;
//	}
//	if (c > a)
//		printf("%d %d %d", c, a, b);
//	else if (a > c && c > b)
//		printf("%d %d %d", a, c, b);
//	else
//		printf("%d %d %d", a, b, c);
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int i = 100;
//	while (i < 201)
//	{
//		for (int j = 2; j < i; j++)
//		{
//			if (i % j == 0)
//			{
//				break;
//			}
//			if (j == i - 1 && i % j != 0)
//			{
//				printf("%d\n", i);
//			}
//		}
//		i++;
//	}	
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int i = 1000;
//	while (i < 2001)
//	{
//		if ((i % 4 == 0&&i%100!=0)||i%400==0)
//			printf("%d\n", i);
//		i++;
//	}
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int a = 0;
//	switch (1)
//	{
//	case 0:
//		a = 0;
//		break;
//	case 1:
//		a = 1;
//		break;
//	default:
//		a = 2;
//	}
//	printf("%d", a);
//	return 0;
//}
#include<stdio.h>
#define min(a,b) (a < b ? a: b)
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int j = min(a,b);
	while (j >=1)
	{
		if (a % j == 0 && b % j == 0)
		{
			printf("%d", j);
			break;
		}
		else
			j--;
	}
	return 0;
}